Po Lu [Wed, 2 Aug 2023 01:09:53 +0000 (09:09 +0800)]
Fix reporting of key events containing SYM and META
* doc/emacs/android.texi (Android)::(What is Android?):
(Android Startup, Android File System, Android Environment)
(Android Windowing, Android Fonts, Android Troubleshooting):
Improve section titles.
(Android Windowing): Describe the relation between keyboard
modifiers reported by Android and those in key events.
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Clear META_SYM_ON and META_META_MASK when retrieving ASCII
characters.
* src/androidgui.h: Add ANDROID_META_MASK.
* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers): Transform META to Alt, and
vice versa.
Po Lu [Wed, 2 Aug 2023 00:10:59 +0000 (08:10 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Michael Albinus [Tue, 1 Aug 2023 18:25:34 +0000 (20:25 +0200)]
Mark Tramp test :unstable
* test/lisp/net/tramp-tests.el (tramp-test47-read-password):
Mark it :unstable.
Michael Albinus [Tue, 1 Aug 2023 18:24:44 +0000 (20:24 +0200)]
Add more `tramp-suppress-trace' properties in Tramp
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Use `tramp-archive-handle-file-symlink-p'.
(tramp-archive-handle-file-symlink-p): New defun.
* lisp/net/tramp-cache.el (tramp-loaddefs): Don't require.
(tramp-get-hash-table, tramp-cache-print)
(tramp-dump-connection-properties): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-cmds.el (tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function):
Declare `tramp-suppress-trace' property.
* lisp/net/tramp-compat.el (tramp-loaddefs): Require.
(tramp-error): Declare.
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler): Fix typo.
* lisp/net/tramp-integration.el (tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay-regexp)
(tramp-rfn-eshadow-update-overlay): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-message.el (tramp-compat): Require (instead of
tramp-loaddefs.el).
(tramp-compat-string-replace, tramp-compat-temporary-file-directory):
Don't declare.
(tramp-byte-run--set-suppress-trace): Move to tramp.el.
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p, tramp-message)
(tramp-debug-button-action, tramp-debug-link-messages)
(tramp-debug-message-buttonize): Declare `tramp-suppress-trace' property.
* lisp/net/tramp.el (tramp-byte-run--set-suppress-trace):
New defun, moved from tramp-message.el.
(tramp-file-name-unify, tramp-file-name-equal-p)
(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name, tramp-buffer-name)
(tramp-delete-temp-file-function, tramp-time-diff):
Declare `tramp-suppress-trace' property.
Mattias Engdegård [Tue, 1 Aug 2023 17:25:39 +0000 (19:25 +0200)]
; * lisp/emacs-lisp/package.el: doc string copy-edit
Po Lu [Tue, 1 Aug 2023 13:06:06 +0000 (21:06 +0800)]
Update Android port
* doc/emacs/android.texi (Android File System): Describe how to
access real files named /assets or /contents if so required.
* java/org/gnu/emacs/EmacsService.java (validAuthority):
* src/android.c (android_init_emacs_service):
* src/android.h: New function.
* src/androidvfs.c (android_saf_valid_authority_p): New
function. Wrap the Java function.
(android_saf_root_stat, android_saf_root_access): Don't return
success if no authority by vp->authority's name exists.
(android_saf_tree_from_name): Check validity of string data
before giving it to JNI.
Stefan Kangas [Tue, 1 Aug 2023 12:34:09 +0000 (14:34 +0200)]
Add tresitter modes to ibuffer-saved-filters
* lisp/ibuf-ext.el (ibuffer-saved-filters): Add tresitter modes.
Stefan Kangas [Tue, 1 Aug 2023 12:26:51 +0000 (14:26 +0200)]
Add align tests for CSS
* test/lisp/align-tests.el (align-css): New test.
* test/lisp/align-resources/css-mode.erts: New file.
Stefan Kangas [Tue, 1 Aug 2023 10:59:32 +0000 (12:59 +0200)]
Use `M-x align` toml rule also for toml-ts-mode
* lisp/align.el (align-rules-list): Add toml-ts-mode to TOML rule.
Stefan Kangas [Tue, 1 Aug 2023 10:58:06 +0000 (12:58 +0200)]
Make toml-ts-mode-indent-offset into natnum
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode-indent-offset):
Make into natnum instead of integer.
Stefan Kangas [Tue, 1 Aug 2023 10:18:12 +0000 (12:18 +0200)]
Fix font locking of booleans in conf-toml-mode
* lisp/textmodes/conf-mode.el (conf-toml-mode): Do not use case
folding when font locking.
* test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode):
Expand test.
Stefan Kangas [Tue, 1 Aug 2023 08:38:45 +0000 (10:38 +0200)]
Add `M-x align` support to conf-toml-mode
* lisp/align.el (align-rules-list): Add rule for conf-toml-mode.
* test/lisp/align-resources/conf-toml-mode.erts: New file.
* test/lisp/align-tests.el (align-toml): New test.
Stefan Kangas [Mon, 31 Jul 2023 11:13:33 +0000 (13:13 +0200)]
Convert align-tests to use erts
Mattias Engdegård [Mon, 31 Jul 2023 16:52:49 +0000 (18:52 +0200)]
Fix vacuous conf-mode-test
* test/lisp/textmodes/conf-mode-tests.el (conf-test-javaprop-mode):
Attempt to give the test some meaning by repairing regexps,
and fixing it so that it passes.
Stefan Kangas [Tue, 1 Aug 2023 07:55:01 +0000 (09:55 +0200)]
Remove IE9 support tag from HTML5 skeleton
This is no longer recommended in 2023, and in any case seems like
overkill in an otherwise bare-bones HTML5 template.
Ref: https://stackoverflow.com/a/
6771584
Po Lu [Tue, 1 Aug 2023 06:54:30 +0000 (14:54 +0800)]
Micro-optimize PUSHW/PUSHB
* src/sfnt.c (CHECK_STACK_AVAILABLE): New macro.
(PUSH):
(PUSH_UNCHECKED): Always define to unchecked versions,
even if TEST.
(PUSH2_UNCHECKED): New macro.
(NPUSHB):
(NPUSHW):
(PUSHB):
(PUSHW): Check the number of remaining stack elements
once.
(stack_overflow_test_args): Expect zero stack arguments.
Po Lu [Tue, 1 Aug 2023 02:34:33 +0000 (10:34 +0800)]
Fix stipple support on PGTK
* src/image.c (image_create_pattern_from_pixbuf): Remove function.
(image_bitmap_to_cr_pattern): New function.
(image_create_bitmap_from_data):
(image_create_bitmap_from_file): Create patterns with the correct
mask values directly from bitmap data. Also, don't rely on GDK
to read XPMs, as that format isn't supported anymore.
* src/pgtkterm.c (pgtk_bitmap_icon): Disable already nonfunctional
code.
(pgtk_display_x_warning): Wrap warning message.
* src/pgtkterm.h (struct pgtk_bitmap_record): Remove `img' field.
(bug#64969)
Po Lu [Tue, 1 Aug 2023 00:44:24 +0000 (08:44 +0800)]
; * src/android.c (ANDROID_THROW): Remove unused macro.
Po Lu [Tue, 1 Aug 2023 00:31:14 +0000 (08:31 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Michael Albinus [Mon, 31 Jul 2023 17:40:11 +0000 (19:40 +0200)]
Optimizations on Tramp symlink handling
* lisp/net/tramp-sh.el (cl-seq): Require.
(tramp-perl-file-truename): Print also whether the file is a symlink.
(tramp-bundle-read-file-names): Rename from
`tramp-vc-registered-read-file-names'. Print also the
`file-directory-p: value.
(tramp-sh-handle-make-symbolic-link): Combine two commands. Use
`tramp-skeleton-make-symbolic-link'.
(tramp-sh-handle-file-truename): Read also "file-symlink-marker"
property.
(tramp-sh-handle-file-directory-p): Simplify if-let clause.
(tramp-sh-handle-file-name-all-completions): Simplify command.
(tramp-bundle-read-file-names): New defun.
(tramp-sh-handle-vc-registered, tramp-get-remote-path): Use it.
(tramp-open-shell): Flush "scripts" connection property.
(tramp-open-connection-setup-interactive-shell): Combine two commands.
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Use `tramp-skeleton-make-symbolic-link'.
* lisp/net/tramp.el (tramp-skeleton-make-symbolic-link): Rename from
`tramp-skeleton-handle-make-symbolic-link'.
(tramp-handle-file-symlink-p): Check file property
"file-symlink-marker".
Ulrich Müller [Fri, 28 Jul 2023 21:04:43 +0000 (23:04 +0200)]
Drop duplicate vietnamese-tcvn coding system
* lisp/language/vietnamese.el (vietnamese-vscii): Update docstring.
(vietnamese-tcvn, tcvn, tcvn-5712): Make them aliases of
vietnamese-vscii.
("Vietnamese"): Drop vietnamese-tcvn from coding-system values.
Update docstring.
* etc/NEWS: Announce this change.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:24 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
3560dfdb868 ; Fix backport of help-fns--analyze-function bug fix
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
525d05c1b8a Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
29ef2157116 ; * lisp/textmodes/paragraphs.el: Remove leftover comment.
80c9f491fc8 Update to Org 9.6.7-5-gd1d0c3
735f3700f65 ; * src/character.c (Fstring_width): Fix last change.
bf83fdba9e3 ; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
1198cdb5567 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923
0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
a9b28224af0 ; Last-minute changes befor releasing 29.1
7da1cee56b3 Update CMake support due to upstream changes (bug#64922)
c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818)
4e977136d31 Make compat check also check typescript
906ecf442c4 ; * etc/HISTORY: Fix the 28.3 entry.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
31cef9a4eac ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
82d6bb66fea Update HISTORY and ChangeLog.4
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
7d1737071fb Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
6b00e1a197d Update AUTHORS and ChangeLog.4
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
76a142e265d ; * etc/NEWS: Prepare for Emacs 29.1 release.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29
ee20b50dfed ; * lisp/progmodes/typescript-ts-mode.el (treesit-query-c...
2215298d90b Update JSX support due to upstream changes (bug#64647)
235561a2ccc Update TSX support due to upstream changes (bug#64647)
12ab82d3b35 ; Fix customization form of 'bookmark-watch-bookmark-file'
d149a4dc428 ; Improve documentation of automatic addition to minibuff...
42a99627948 ; Improve documentation of 'last-command-event'
101455cb853 ; * lisp/subr.el (ignore, always): Doc fixes. (Bug#64776)
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
6152a411905 Unbreak build with CHECK_STRUCTS.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29
c692bbc6596 Revert "Improve commentary in nsfns.m"
bb885928d73 Fix NetBSD build --with-sound
39873d6d5d1 Fix typo in pre-filter for underline property
Mattias Engdegård [Mon, 31 Jul 2023 14:14:07 +0000 (16:14 +0200)]
; Fix backport of help-fns--analyze-function bug fix
* lisp/help-fns.el (help-fns--analyze-function):
Add back the NOERROR argument to function-alias-p, needed because
Emacs 29 doesn't prevent the creation of circular function aliases.
This fixes a failure in help-fns-tests.
Po Lu [Mon, 31 Jul 2023 12:33:27 +0000 (20:33 +0800)]
Update Android port
* src/sfnt.c (ISECT): Micro-optimize this instruction.
* src/sfntfont.c (sfnt_parse_style): Avoid GC safety problem.
Eli Zaretskii [Mon, 31 Jul 2023 11:42:27 +0000 (14:42 +0300)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eshel Yaron [Sun, 30 Jul 2023 08:22:26 +0000 (11:22 +0300)]
; * lisp/textmodes/paragraphs.el: Remove leftover comment.
* lisp/textmodes/paragraphs.el: Remove a comment referring to code
that was removed in
cf605d5. (Bug#64947)
Po Lu [Mon, 31 Jul 2023 09:59:26 +0000 (17:59 +0800)]
; Update Android port
* src/sfntfont.c (sfnt_parse_style): Fix misworded commentary.
Po Lu [Mon, 31 Jul 2023 06:18:12 +0000 (14:18 +0800)]
Initialize Android API level earlier
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* java/org/gnu/emacs/EmacsNoninteractive.java (main):
* java/org/gnu/emacs/EmacsService.java (run):
* java/org/gnu/emacs/EmacsThread.java (run):
* src/android.c (initEmacs, setEmacsParams): Set
`android_api_level' within setEmacsParams, not in initEmacs.
* src/androidvfs.c: Pacify compiler warnings.
Po Lu [Mon, 31 Jul 2023 02:50:12 +0000 (10:50 +0800)]
Implement cross-directory SAF rename operations
* java/org/gnu/emacs/EmacsService.java (renameDocument): Don't
catch UnsupportedOperationException; handle ENOSYS in
android_saf_rename_document instead.
(moveDocument): New function.
* lisp/subr.el (y-or-n-p): Always change the text conversion
style.
* src/android.c (android_init_emacs_service)
(android_exception_check_4): New function.
* src/android.h: Update Java function table.
* src/androidvfs.c (android_saf_rename_document): Handle ENOSYS
here by setting errno to EXDEV.
(android_saf_move_document): New function.
(android_document_id_from_name): Take const `dir_name'.
(android_saf_tree_rename): Use delete-move-rename to implement
cross-directory renames.
Po Lu [Mon, 31 Jul 2023 00:42:03 +0000 (08:42 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Kyle Meyer [Sun, 30 Jul 2023 20:52:11 +0000 (16:52 -0400)]
Update to Org 9.6.7-5-gd1d0c3
Eli Zaretskii [Sun, 30 Jul 2023 19:09:05 +0000 (22:09 +0300)]
; * src/character.c (Fstring_width): Fix last change.
Eli Zaretskii [Sun, 30 Jul 2023 17:10:54 +0000 (20:10 +0300)]
; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
Mattias Engdegård [Sun, 30 Jul 2023 16:42:13 +0000 (18:42 +0200)]
Avoid face attribute warnings in themes
* etc/themes/deeper-blue-theme.el (class):
* etc/themes/leuven-dark-theme.el (class):
* etc/themes/leuven-theme.el (class):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/whiteboard-theme.el (class):
Use `unspecified` instead of `nil` as attribute for :background and
:foreground to silence HANDLE_INVALID_NIL_VALUE warning.
Eli Zaretskii [Sun, 30 Jul 2023 16:19:32 +0000 (12:19 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^
(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.
* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
(cherry picked from commit
5f5d668ac7917d61e9366fe0c3efd7b542671c3d)
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^
(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.
* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
Basil L. Contovounesios [Tue, 13 Jun 2023 12:53:31 +0000 (13:53 +0100)]
Backport: Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted. This backport follows the Emacs 29.1
release (bug#64019).
The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9]. Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode.
(cherry picked from commit
cd8d3f3379ec7179fac4bb8e9c40658be15a64f6)
Eli Zaretskii [Sun, 30 Jul 2023 15:08:27 +0000 (18:08 +0300)]
; * admin/make-tarball.txt: Update based on latest experiences.
Eli Zaretskii [Sun, 30 Jul 2023 15:05:00 +0000 (11:05 -0400)]
; Fix admin/upload-manuals script
* admin/upload-manuals (html_mono): Chdir to the right directory
before committing.
(html_node): Avoid computing $stale in newly-created or empty
directories.
Michael Albinus [Sun, 30 Jul 2023 14:53:37 +0000 (16:53 +0200)]
; Fixh last change
* lisp/net/tramp-message.el (tramp-file-name-host-port)
(tramp-file-name-user-domain): Declare.
(tramp-message): Remove declare form. Add `tramp-suppress-trace'
function property.
* lisp/net/tramp.el (tramp-file-name-user-domain)
(tramp-file-name-host-port): Remove ;;;###tramp-autoload cookie.
(tramp-file-name-unify, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name): Remove declare form. Add
`tramp-suppress-trace' function property.
Earl Hyatt [Fri, 21 Jul 2023 01:44:41 +0000 (21:44 -0400)]
Allow default values in 'map-let' and the pcase 'map' form
* lisp/emacs-lisp/map.el (map-let, map)
(map--make-pcase-bindings): Add a third argument for specifying a
default value, like in 'map-elt'. (Bug#49407)
* lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys
that aren't found aren't ignored, they actually get the value
nil (unless the new default value is given). The overall pattern can
still fail to match if the sub-pattern for the unfound key doesn't
match nil.
* test/lisp/emacs-lisp/map-tests.el (test-map-let-default)
(test-map-plist-pcase-default, test-map-pcase-matches): Add tests,
including for the above item.
Po Lu [Sun, 30 Jul 2023 13:18:54 +0000 (21:18 +0800)]
Fix bug#64923
* src/xfns.c (Fx_create_frame): Prevent cairo surface from being
left without a desired size. (bug#64923)
Michael Albinus [Sun, 30 Jul 2023 13:10:48 +0000 (15:10 +0200)]
Finish Tramp reorganization
* lisp/net/tramp-compat.el (subr-x): Don't require.
(top): Use `function-put' but `put'.
* lisp/net/tramp-gvfs.el (tramp-dbus-function): Add declare form.
* lisp/net/tramp-message.el (tramp-byte-run--set-suppress-trace):
New function. Add it to `defun-declarations-alist'.
(tramp-setup-debug-buffer, tramp-debug-buffer-name)
(tramp-get-debug-buffer, tramp-get-debug-file-name)
(tramp-trace-buffer-name, tramp-debug-message, tramp-message):
Add declare form.
(tramp-debug-buffer-name): Use `tramp-string-empty-or-nil-p'.
(tramp-test-message): New defun.
* lisp/net/tramp.el (top): Use `function-put' but `put'.
(tramp-file-name-user-domain, tramp-file-name-host-port)
(tramp-file-name-port-or-default, tramp-file-name-unify)
(tramp-dissect-file-name, tramp-ensure-dissected-file-name)
(tramp-dissect-hop-name, tramp-make-tramp-file-name)
(tramp-signal-hook-function, tramp-post-process-creation)
(tramp-read-passwd, tramp-read-passwd-without-cache)
(tramp-clear-passwd): Add declare form.
(tramp-string-empty-or-nil-p): Add ;;;###tramp-autoload cookie.
(tramp-test-message): Move to tramp-message.el.
Ulrich Müller [Fri, 28 Jul 2023 10:21:42 +0000 (12:21 +0200)]
Avoid spurious whitespace in the modeline of emacsclient frames
* lisp/bindings.el (mode-line-client): Compute 'help-echotext
property in advance. (Bug#58183)
(cherry picked from commit
8c3338f6ba354218aee12c223d778be4180f892b)
Mattias Engdegård [Thu, 27 Jul 2023 14:13:54 +0000 (16:13 +0200)]
Fix function help for advised aliases (bug#64797)
* lisp/help-fns.el (help-fns--analyze-function):
For aliases, use the base function name if at the end of the chain.
This fixes a regression introduced in
d30fde6b0cc.
Reported by Michael Heerdegen.
(cherry picked from commit
024bd1f09099ae186442001a75e578638070e296)
Eli Zaretskii [Thu, 27 Jul 2023 12:34:38 +0000 (15:34 +0300)]
Avoid crashes due to invalid 'mode-line-format'
* src/xdisp.c (display_mode_element, redisplay_window_error):
Don't take XCAR of what can be Qnil. (Bug#64893)
(cherry picked from commit
7ea3f39deec3d54914077455e70605a14eb7d200)
Eli Zaretskii [Thu, 27 Jul 2023 06:51:39 +0000 (09:51 +0300)]
; Better documentation of HOME on MS-Windows
* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows. (Bug#64871)
(cherry picked from commit
d59630e591cd49780e6554d1025c1879bb89680b)
Eli Zaretskii [Thu, 27 Jul 2023 06:37:03 +0000 (09:37 +0300)]
; Clarify documentation of 'server-after-make-frame-hook'
* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'. (Bug#64873)
(cherry picked from commit
e650a14f64b9ebea69615c19ca4466c14af35857)
Eli Zaretskii [Tue, 25 Jul 2023 17:38:01 +0000 (20:38 +0300)]
Avoid crashes under 'which-key-mode'
* src/keyboard.c (Fthis_single_command_keys): Don't allow calls to
Fvector with negative first argument. (Bug#64857)
(cherry picked from commit
65834b8f8d53402517da7fe2446f5bac0aa30c39)
Eli Zaretskii [Tue, 25 Jul 2023 13:49:18 +0000 (16:49 +0300)]
; Minor documentation fixes
* src/character.c (Fstring_width): Doc fix.
* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).
(cherry picked from commit
f6e4e77d23d0be79be83ef41c3ea9acd5c983af2)
Eli Zaretskii [Sun, 30 Jul 2023 07:08:27 +0000 (10:08 +0300)]
Bump Emacs version
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 29.1.50.
Eli Zaretskii [Sun, 30 Jul 2023 06:11:49 +0000 (02:11 -0400)]
; Last-minute changes befor releasing 29.1
* ChangeLog.4:
* etc/HISTORY: Update.
Po Lu [Sun, 30 Jul 2023 05:39:27 +0000 (13:39 +0800)]
Partially implement rename operations on SAF files
* java/org/gnu/emacs/EmacsSafThread.java
(postInvalidateCacheDir):
* java/org/gnu/emacs/EmacsService.java (renameDocument): New
functions.
* src/android.c (android_init_emacs_service):
* src/android.h (struct android_emacs_service): Link to new JNI
function.
* src/androidvfs.c (android_saf_rename_document): New function.
(android_saf_tree_rename): Implement in terms of that function
if possible.
Po Lu [Sun, 30 Jul 2023 00:15:26 +0000 (08:15 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Vincenzo Pupillo [Sat, 29 Jul 2023 19:10:57 +0000 (21:10 +0200)]
Update CMake support due to upstream changes (bug#64922)
A recent change in tree-sitter-cmake grammar support for CMake (commit
fe9b5e0), now put arguments are wrapped in a new argument_list node.
To support the old and new version of the grammar, a new function was
added on which string syntax highlighting now depends.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-compatibility-
fe9b5e0): Indent helper
function to handle different tree-sitter-cmake version.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use the new function to handle
the new argument_list node.
Ulrich Müller [Sat, 29 Jul 2023 15:20:06 +0000 (17:20 +0200)]
; * lisp/format.el (format-alist): Update URL in comment.
Ulrich Müller [Sat, 29 Jul 2023 09:37:45 +0000 (11:37 +0200)]
; Fix conversions in format.el (bug#64928)
* lisp/format.el (format-alist): Fix duden and de646 conversions.
Po Lu [Sat, 29 Jul 2023 12:53:21 +0000 (20:53 +0800)]
Correct directory permissions reported for VFS files
* java/org/gnu/emacs/EmacsSafThread.java (statDocument1):
* src/androidvfs.c (android_afs_stat, android_content_stat)
(android_saf_root_stat): Report search permissions for files.
Michael Albinus [Sat, 29 Jul 2023 11:23:19 +0000 (13:23 +0200)]
; * lisp/jsonrpc.el (jsonrpc-error): Fix typo.
Michael Albinus [Sat, 29 Jul 2023 11:11:01 +0000 (13:11 +0200)]
Reorganize Tramp's messages
* doc/misc/tramp.texi (Traces and Profiles): Use proper buffer
names. Add tramp-debug-command-messages.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler):
Set `tramp-debug-message-fnh-function'.
* lisp/net/tramp.el (tramp-file-name-handler):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Wrap code `with-tramp-debug-message'.
* lisp/net/tramp-message.el: New file.
* lisp/net/tramp.el (tramp-message): Require.
(tramp-verbose, tramp-debug-to-file, tramp-debug-buffer-name)
(tramp-debug-outline-regexp, tramp-debug-font-lock-keywords)
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p)
(tramp-setup-debug-buffer, tramp-get-debug-buffer)
(tramp-get-debug-file-name, tramp-trace-buffer-name)
(tramp-trace-functions, tramp-debug-message, tramp-message)
(tramp-backtrace, tramp-error, tramp-error-show-message-timeout)
(tramp-error-with-buffer, tramp-user-error)
(tramp-with-demoted-errors): Move to tramp-message.el.
(tramp-current-connection, tramp-file-name-user-domain)
(tramp-file-name-host-port): Add ;;;###tramp-autoload cookie.
(tramp-inhibit-progress-reporter): Move down.
(tramp-post-process-creation): Write debug message only when there
is a command.
* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Add ;;;###tramp-autoload cookie.
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Don't bind `trace-buffer'.
João Távora [Sat, 29 Jul 2023 10:15:14 +0000 (11:15 +0100)]
Jsonrpc: fix error code in jsonrpc-error function (bug#64888)
* lisp/jsonrpc.el (jsonrpc-error): Fix error code.
João Távora [Sat, 29 Jul 2023 10:08:51 +0000 (11:08 +0100)]
Jsonrpc: fix default value of success-fn (bug#64919)
* lisp/jsonrpc.el (jsonrpc--async-request-1): Fix default value of
success-fn.
Po Lu [Sat, 29 Jul 2023 10:00:09 +0000 (18:00 +0800)]
; Update Android port
* src/androidvfs.c: Improve commentary.
Po Lu [Sat, 29 Jul 2023 07:57:44 +0000 (15:57 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (postInvalidateCache):
New argument cacheName. Remove that file from the cache.
(accessDocument1): Consult the storage cache as well.
* java/org/gnu/emacs/EmacsService.java (deleteDocument): New
argument NAME.
* src/android.c (android_init_emacs_service): Add new argument.
* src/androidvfs.c (android_saf_delete_document)
(android_saf_tree_rmdir, android_saf_file_unlink): Pass name of
file being deleted to `deleteDocument'.
Po Lu [Sat, 29 Jul 2023 04:50:06 +0000 (12:50 +0800)]
; Update Android port
* src/androidvfs.c (android_saf_exception_check): Describe
exceptions earlier.
Po Lu [Sat, 29 Jul 2023 04:49:36 +0000 (12:49 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry):
(getCacheEntry):
(CacheEntry):
(documentIdFromName1): Fix earlier change.
Po Lu [Sat, 29 Jul 2023 03:29:42 +0000 (11:29 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 29 Jul 2023 03:29:25 +0000 (11:29 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (DocIdEntry)
(getCacheEntry, CacheEntry): Use `uptimeMillis' as the basis for
cache expiration.
Po Lu [Sat, 29 Jul 2023 03:24:07 +0000 (11:24 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (EmacsSafThread, getCache)
(pruneCache1, pruneCache, cacheChild, cacheDirectoryFromCursor)
(documentIdFromName1, openDocumentDirectory1): Implement the
cache referred to by the commentary.
* java/org/gnu/emacs/EmacsService.java (deleteDocument):
Invalidate the cache upon document removal.
* src/androidvfs.c (android_saf_exception_check)
(android_document_id_from_name): Correctly preserve or set errno
in error cases.
F. Jason Park [Mon, 24 Jul 2023 06:09:42 +0000 (23:09 -0700)]
Simplify multi-frame behavior in erc-bufbar-mode
* lisp/erc/erc-status-sidebar.el (erc-status-sidebar-singular,
erc-status-sidebar--singular-p): Replace option new in ERC 5.6 with
the latter, an internal flag.
(erc-status-sidebar-get-window): Use new name for option turned
ordinary variable `erc-status-sidebar--singular-p'.
(erc-status-sidebar-close): Add comment.
(erc-status-sidebar--open): New function containing the old body of
`erc-status-sidebar-open'.
(erc-bufbar-mode, erc-bufbar-enable, erc-bufbar-disable): Update
variable names. Close sidebar window on all frames when disabling,
and don't set mode variable to nil when enabling. These may have made
some practical sense but were illogical. For example, it's confusing
to leave `erc-status-sidebar--open' in `erc--setup-buffer-hook' while
reporting the mode as being disabled.
(erc-status-sidebar-open): Move to slightly later in same file, after
defining `erc-bufbar-mode'. When `erc-bufbar-mode' is active, always
create a sidebar if needed, even when another frame is already
displaying one.
(erc-status-toggle-sidebar): When `erc-bufbar-mode' is disabled,
revert to pre-5.6 behavior. When the module is enabled, adopt new
behavior of ensuring the current frame shows a sidebar, even if
another frame already has one.
(erc-status-sidebar-refresh): Save and restore `window-start' in all
windows showing a sidebar buffer after refreshing. Update option and
variable names.
(erc-status-sidebar-refresh-triggers): Add doc string, noting that the
variable is set locally when the option
`erc-status-sidebar-highlight-active-buffer' is non-nil.
(erc-status-sidebar--highlight-refresh-triggers): New variable
containing additional triggers enabled when the option
`erc-status-highlight-active-buffer' is non-nil.
(erc-status-sidebar--refresh-unless-input): New function to run
`erc-status-sidebar-refresh' unless input is pending or the selected
window's buffer is a minibuffer.
(erc-status-sidebar--post-refresh): Call `erc-status-sidebar-refresh'
wrapper `erc-status-sidebar--refresh-unless-input' instead.
(erc-status-sidebar-set-window-preserve-size): Update var name to
`erc-status-sidebar--singular-p'.
(erc-status-sidebar-mode): Run `erc-status-sidebar--post-refresh' on
`window-selection-change-functions' globally when highlighting active
buffers. (bug#63595)
F. Jason Park [Sun, 23 Jul 2023 12:05:13 +0000 (05:05 -0700)]
; Add example buffer-display option to ERC's manual
* doc/misc/erc.texi: Add customization for `erc-interactive-display'
to Sample Configuration section.
* etc/ERC-NEWS: Improve various entries, like those for
`keep-place-indicator', `fill-wrap', `bufbar', etc.
F. Jason Park [Sat, 22 Jul 2023 21:07:38 +0000 (14:07 -0700)]
Fix CTCP ACTION regression in erc-fill-wrap
* lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Return
nil when current message is a CTCP ACTION. This fixes a regression
introduced by
63d8b2a59a4 "Make erc-fill-wrap work with left-sided
stamps".
* test/lisp/erc/erc-fill-tests.el: (erc-fill-wrap--merge-action):
New test.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: New
test data file. (Bug#60936)
Basil L. Contovounesios [Fri, 28 Jul 2023 16:35:20 +0000 (18:35 +0200)]
; Avoid recent tar-mode.el constant mutation
* lisp/tar-mode.el (tar-attr-vector): Initialize with fresh vector
to avoid constant vector mutation (bug#64686).
(tar-parse-pax-extended-header): Use fillarray.
Ulrich Müller [Fri, 28 Jul 2023 10:21:42 +0000 (12:21 +0200)]
Avoid spurious whitespace in the modeline of emacsclient frames
* lisp/bindings.el (mode-line-client): Compute 'help-echotext
property in advance. (Bug#58183)
Tassilo Horn [Fri, 28 Jul 2023 10:26:49 +0000 (12:26 +0200)]
Make shell command status code checks more robust
* lisp/doc-view.el (doc-view-ghostscript-program)
(doc-view--revert-buffer, doc-view--pdf-outline): Compare
'shell-command' / 'call-process' return values with 'eql' instead of
'=' to cater for the situation where the process received a signal.
Mattias Engdegård [Fri, 28 Jul 2023 09:14:01 +0000 (11:14 +0200)]
Clarify docs about regexp syntax-dependent character classes
* doc/lispref/searching.texi (Char Classes, Rx Constructs)
(Regexp Problems): Note that character classes don't take syntax
properties into account.
Mattias Engdegård [Fri, 28 Jul 2023 09:12:09 +0000 (11:12 +0200)]
Make uniquify-tests work with out-of-tree builds and clean up
* test/lisp/uniquify-tests.el (uniquify-project-transform):
Set an explicit default-directory.
* test/lisp/uniquify-tests.el (uniquify-dirs): Remove temporary
directory after test.
Po Lu [Fri, 28 Jul 2023 08:43:40 +0000 (16:43 +0800)]
Fix SAF query
* java/org/gnu/emacs/EmacsSafThread.java (documentIdFromName1):
Fix query argument placeholder string.
Po Lu [Fri, 28 Jul 2023 07:45:35 +0000 (15:45 +0800)]
Update Android port
* src/androidvfs.c (android_document_id_from_name): Don't return
0 if an SAF exception occurs.
Po Lu [Fri, 28 Jul 2023 07:24:47 +0000 (15:24 +0800)]
Avoid crashes when the primary clip is empty
* src/androidselect.c (Fandroid_get_clipboard): Don't return
data if clipboard is empty. Reported by Johan Widén
<j.e.widen@gmail.com>.
Po Lu [Fri, 28 Jul 2023 07:19:37 +0000 (15:19 +0800)]
Allow quitting from Android content provider operations
* doc/emacs/android.texi (Android Document Providers): Say that
quitting is now possible.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): New
functions `safSyncAndReadInput', `safync' and `safPostRequest'.
* java/org/gnu/emacs/EmacsSafThread.java: New file. Move
cancel-able SAF operations here.
* java/org/gnu/emacs/EmacsService.java (EmacsService): Allow
quitting from most SAF operations.
* src/androidvfs.c (android_saf_exception_check): Return EINTR
if OperationCanceledException is received.
(android_saf_stat, android_saf_access)
(android_document_id_from_name, android_saf_tree_opendir_1)
(android_saf_file_open): Don't allow reentrant calls from async
input handlers.
(NATIVE_NAME): Implement new synchronization primitives for JNI.
(android_vfs_init): Initialize new class.
* src/dired.c (open_directory): Handle EINTR from opendir.
* src/sysdep.c: Describe which operations may return EINTR on
Android.
Manuel Giraud [Thu, 27 Jul 2023 21:26:30 +0000 (23:26 +0200)]
Fix image-dired-utils-tests after
83b6a8a5147 (bug#61394)
Eli Zaretskii [Fri, 28 Jul 2023 06:31:25 +0000 (09:31 +0300)]
Fix userlock.el and filelock-tests in some rare cases
* lisp/userlock.el (userlock--check-content-unchanged): Don't
assume 'file-truename' of FILENAME is always non-nil. It could be
nil if we are called from a temporary buffer where some Lisp
program has forcibly set 'buffer-file-name'. (Bug#64821)
* test/src/filelock-tests.el (filelock-tests--fixture): Set
'buffer-file-name' to the true name of the temporary file.
Patch by Mattias Engdegård <mattias.engdegard@gmail.com>.
(filelock-tests-detect-external-change): Quote the file names
passed to shell commands.
Tassilo Horn [Fri, 28 Jul 2023 05:07:45 +0000 (07:07 +0200)]
; Make doc-viev-imenu-enabled default value a boolean again
Po Lu [Fri, 28 Jul 2023 04:21:47 +0000 (12:21 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsDirectoryEntry.java
(EmacsDirectoryEntry): Make class final.
* java/org/gnu/emacs/EmacsService.java (accessDocument)
(openDocumentDirectory, openDocument, createDocument): Throw
access and IO error exceptions instead of catching them.
(createDirectory, deleteDocument): New functions.
* src/android.c (android_init_emacs_service): Add new functions.
* src/android.h (struct android_emacs_service): Likewise.
* src/androidvfs.c (android_saf_exception_check): New function.
Translate between Java exceptions and errno values.
(android_saf_stat, android_saf_access, android_saf_delete_document)
(struct android_saf_tree_vnode, android_document_id_from_name)
(android_saf_tree_name, android_saf_tree_rmdir)
(android_saf_tree_opendir_1, android_saf_tree_opendir)
(android_saf_file_open, android_saf_file_unlink)
(android_saf_new_open, android_saf_new_mkdir): Implement missing
VFS operations and derive errno values from the type of any
exceptions thrown.
(android_vfs_init): Initialize exception classes.
(android_mkdir, android_fstat): Remove trailing whitespace.
Po Lu [Fri, 28 Jul 2023 00:22:01 +0000 (08:22 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android